The present invention relates to video processing, and more particularly to a method of image alias rejection using shaped statistical filtering in a waveform rasterizer.
There is a well-known problem in waveform rasterization that, when rasterizing a high resolution waveform onto a limited resolution display, an artifact appears that is sometimes called “jaggies”. There are existing “dejaggie” algorithms for line drawing, such as that described in U.S. Pat. No. 4,586,037 by Harvey J. Rosener et al issued Apr. 29, 1986 and entitled “Raster Display Smooth Line Generation”, but with video waveforms generally are not lines. The jaggies seen in a rasterized waveform, which is a bit-map display, may be understood as the spatial aliases of an undersampled image. If the waveform is originally rasterized in a much higher resolution, such as 2048×2048, then is subjected to an appropriate spatial low pass filter which “smears” the points over several neighboring pixels of the raster, and then is subsampled to the desired display resolution, such as 640×480, this removes the jaggies. However for this approach the high resolution image needs a very large raster memory. This memory also needs to be very fast due to the needs of waveform rasterization.
Rasterization works by building up an image of plotted x-y values. Each new x-y data point, where x may represent time and y may represent amplitude, adds to the image which is then scanned out in a raster fashion for further processing and/or display. In an ideal rasterizer a new data point may be plotted anywhere in the image without regard to where a previous data point was plotted. One way to deal with the need for low pass filtering is to subject each new input data point to a spatial low pass filter and then plot the outputs of the spatial filter in the desired display resolution memory. However if a 2×2 spatial kernel is used, which is the smallest practical, four memory cycles are needed to plot the output of the spatial filter. Memory bandwidth is often the limiting item in rasterization, so doing four times as many memory cycles is not what is desired.
What is desired is image alias rejection that minimizes the number of display memory cycles.